aa3d5ec09b9d7f1e5f33b3844627f81c658b066e,portlets/knowledge-base-portlet/docroot/WEB-INF/src/com/liferay/knowledgebase/admin/messaging/AdminMessageListener.java,AdminMessageListener,doReceive,#Message#,67
Before Change
String mailId = message.getString("mailId");
boolean htmlFormat = message.getBoolean("htmlFormat");
Set<Long> sent = new HashSet<Long>();
if (_log.isInfoEnabled()) {
_log.info(
"Sending notifications for {mailId=" + mailId +
", resourcePrimKey=" + resourcePrimKey + "}");
}
// Article
List<Subscription> subscriptions =
SubscriptionLocalServiceUtil.getSubscriptions(
companyId, Article.class.getName(), resourcePrimKey);
sendEmail(
userId, groupId, resourcePrimKey, portalURL, fromName, fromAddress,
subject, body, subscriptions, sent, replyToAddress, mailId,
htmlFormat);
Article article = ArticleLocalServiceUtil.getLatestArticle(
resourcePrimKey, WorkflowConstants.STATUS_APPROVED);
while (article.getParentResourcePrimKey() !=
ArticleConstants.DEFAULT_PARENT_RESOURCE_PRIM_KEY) {
article = ArticleLocalServiceUtil.getLatestArticle(
article.getParentResourcePrimKey(),
WorkflowConstants.STATUS_APPROVED);
subscriptions = SubscriptionLocalServiceUtil.getSubscriptions(
companyId, Article.class.getName(),
article.getResourcePrimKey());
sendEmail(
userId, groupId, resourcePrimKey, portalURL, fromName,
fromAddress, subject, body, subscriptions, sent, replyToAddress,
mailId, htmlFormat);
}
// Articles
subscriptions = SubscriptionLocalServiceUtil.getSubscriptions(
companyId, Article.class.getName(), groupId);
sendEmail(
userId, groupId, resourcePrimKey, portalURL, fromName, fromAddress,
subject, body, subscriptions, sent, replyToAddress, mailId,
htmlFormat);
if (_log.isInfoEnabled()) {
_log.info("Finished sending notifications");
After Change
public class AdminMessageListener extends BaseMessageListener {
public void doReceive(Message message) throws Exception {
long companyId = message.getLong("companyId");
long groupId = message.getLong("groupId");
long userId = message.getLong("userId");
long resourcePrimKey = message.getLong("resourcePrimKey");
String portalURL = message.getString("portalURL");
String fromName = message.getString("fromName");
String fromAddress = message.getString("fromAddress");
String subject = message.getString("subject");
String body = message.getString("body");
String replyToAddress = message.getString("replyToAddress");
String mailId = message.getString("mailId");
boolean htmlFormat = message.getBoolean("htmlFormat");
if (_log.isInfoEnabled()) {
_log.info(
"Sending notifications for {mailId=" + mailId +
", resourcePrimKey=" + resourcePrimKey + "}");
}
Article article = ArticleLocalServiceUtil.getLatestArticle(
resourcePrimKey, WorkflowConstants.STATUS_APPROVED);
SubscriptionSender subscriptionSender = new AdminSubscriptionSender(
article, portalURL);
subscriptionSender.setCompanyId(companyId);
subscriptionSender.setUserId(userId);
subscriptionSender.setGroupId(groupId);
subscriptionSender.setFrom(fromName, fromAddress);
subscriptionSender.setSubject(subject);
subscriptionSender.setBody(body);
subscriptionSender.setReplyToAddress(replyToAddress);
subscriptionSender.setMailId(mailId);
subscriptionSender.setHtmlFormat(htmlFormat);
subscriptionSender.notifyPersistedSubscribers(
Article.class.getName(), groupId);
subscriptionSender.notifyPersistedSubscribers(
Article.class.getName(), resourcePrimKey);
while (article.getParentResourcePrimKey() !=
ArticleConstants.DEFAULT_PARENT_RESOURCE_PRIM_KEY) {